Practical Application of a Translation Tool from UML/OCL to Java Skeleton with JML Annotation
نویسندگان
چکیده
In recent years, MDA techniques have been strongly developed. Thus, translation techniques such as UML to some program languages have gained a lot of attention. Translation techniques such as OCL to JML have been also researched. OCL is a language to describe detail properties of UML and standardized by OMG, while, JML is a language to specify properties of Java program. Both OCL and JML are based on DbC and able to provide properties of classes or methods. There are, however, not many researches on translating automatically OCL into JML and past researches often pay little attention to collection features, especially iteration. Our research group has proposed a concrete method which translates UML class diagram with OCL into Java skeleton with JML. This paper presents an implementation tool based on the technique. To evaluate the quality of the tool, we applied the tool to two real examples, a warehouse management program and a syllabus management system. As a result, we found that every OCL constraint described manually was translated successfully into JML. Also, we found some defects existed in the design of a syllabus management system.
منابع مشابه
Towards Verifying Java Realizations of Ocl-constrained Design Models Using Jml
The Object Constraint Language OCL is a formal textual notation that could be used for placing constraints on the modelling elements that occur in UML diagrams. Constraints include invariants on classes and types, and preconditions and postconditions of operations. OCL was designed to be used in conjunctions with UML diagrams resulting in more precise object-oriented designs. The Java Modelling...
متن کاملA Library-Based Approach to Translating OCL Constraints to JML Assertions for Runtime Checking
OCL is a formal notation to specify constraints on UML models that cannot otherwise be expressed by diagrammatic notations such as class diagrams. Using OCL one can document detailed design decisions and choices along with the behavior, e.g., class invariants and method pre and postconditions. However, OCL constraints cannot be directly executed and checked at runtime by an implementation, thus...
متن کاملGenerating JML Specifications from UML State Diagrams
We describe our work on the prototype AutoJML tool which automatically derives JML (Java Modelling Language) specifications from UML state diagrams. UML is widely used for modelling Object-Oriented systems on an abstract level. It should be possible to test whether concrete program code actually implements a UML model. The generated JML specifications can be used for this. There exist tools to ...
متن کاملVeri cation of Class Liveness Properties with JML∗
Static checking is key for the security of software components. As a component model, this paper considers a Java class enriched with annotations from the Java Modeling Language (JML). It de nes a formal execution semantics for repetitive method invocations from this annotated class, called the class in isolation semantics. Afterwards, a pattern of liveness properties is de ned, together with i...
متن کاملThe KeY system 1.0 (Deduction Component)
The KeY system is a development of the ongoing KeY project, whose aim is to integrate formal specification and deductive verification into the industrial software engineering processes. The deductive component of the KeY system is a novel interactive/automated prover for first-order Dynamic Logic for Java. The KeY prover features a userfriendly graphical interface, a backtracking-free free-vari...
متن کامل